package javase2.day04.demo01;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

/*
Hashtable：底层是一个哈希表，是一个线程安全的集合，是单线程集合，速度慢
HashMap：底层是一个哈希表，是一个线程不安全的集合，多线程集合，速度快

HashMap集合（之前学习所有集合）：都可以储存null值null键
Hashtable集合，不能储存null值，null键

Hashtable和Vector集合一样，在jdk1.2版本后被更先进的集合（HashMap，ArrayList）取代了
Hashtable的子类Properties依然活跃
它是目前唯一一个和IO流相关的集合

 */
public class Demo06Hashtable {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        map.put(null, null);
        map.put("大小姐", null);
        map.put(null, "168");
        for (String str:map.keySet()) {
            System.out.println("key："+str+"="+"value:"+map.get(str));
            /*
key：null=value:168
key：大小姐=value:null

             */
        }

        Hashtable<String,String> table=new Hashtable<>();
//        table.put(null,"123");NullPointerException
//        table.put("123",null);NullPointerException
//        table.put(null,null);NullPointerException

    }
}
